Types of data storage include a magnetic disk, a semiconductor memory, and the like. Since each type of data storage has different physical characteristics, a management system corresponding to the different physical characteristics may be needed.
A magnetic disk is widely used as a storage device. Generally, the magnetic disk has an average read/write time in milliseconds per kilobyte. Since times vary for an arm to reach a different physical location where data is stored, the magnetic disk has a characteristic in that the read/write time varies depending on the location where the data is stored.
A host or processor may access a storage device to store data in the storage device or read data stored in the storage device. Since time for a host or processor to read data from a storage device may be relatively long, the host or processor may use a memory storing a portion of the data stored in the storage device. In this case, data input/output time of a memory may be shorter than that of a magnetic disk.
A host or processor may have a tendency to read data once again, which was read in the near past. The tendency is referred to as the temporal locality. A conventional storage device and management system may use a buffer memory that temporarily stores data read by a host or processor from the storage device to utilize the temporal locality.
With increasing operation speed of a host or processor, a high-speed buffer memory has been used. For example, a cache memory and main memory have been used. A cache memory may be closest to a host or processor and may be operated most quickly. A main memory may be located between the cache memory and a storage device, and may be operated more slowly than the cache memory while more quickly than the storage device.
The processor, cache memory, main memory, and storage device structure may be referred to as a memory hierarchy. Depending on applications, a cache memory may include a hierarchy including a level 1 (L1) cache memory and a level 2 (L2) cache memory.